package com.chengh.nami.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.chengh.nami.common.domain.pojo.SysDictData;
import com.chengh.nami.common.request.PageQuery;
import com.chengh.nami.common.response.PageData;

import java.util.List;

/**
 * 字典数据接口
 *
 * @author chengh
 */
public interface ISysDictDataService extends IService<SysDictData> {

    /**
     * 根据字典类型获取字典数据, 走缓存
     *
     * @param dictType 字典类型
     * @return 字典数据集合
     */
    List<SysDictData> getDictDataByType(String dictType);

    /**
     * 根据字典类型获取字典数据, 不走缓存
     *
     * @param dictType 字典类型
     * @return 字典数据集合
     */
    List<SysDictData> getDictDataByTypeNoCache(String dictType);

    /**
     * 获取全量的字典数据
     *
     * @return 字典信息
     */
    List<SysDictData> getDictDataList();

    /**
     * 根据条件分页查询字典数据列表
     *
     * @param dictData  查询条件
     * @param pageQuery 分页信息
     * @return 字典数据列表
     */
    PageData<SysDictData> getList(SysDictData dictData, PageQuery pageQuery);

    /**
     * 修改字典数据信息
     *
     * @param dictData 信息
     * @return 是否成功
     */
    Boolean edit(SysDictData dictData);

    /**
     * 新增字典数据信息
     *
     * @param dictData 信息
     * @return 是否成功
     */
    Boolean aaddData(SysDictData dictData);

    /**
     * 根据ID集合删除字典数据信息
     *
     * @param asList id集合
     * @return 是否成功
     */
    Boolean delInfoByIds(List<Long> asList);
}
